package planificador;

import java.io.*;

public class Teclado
{
	public static int entero(String mensaje)
    {
    int n,x=0;
    String cadena = null;
    System.out.printf(mensaje);
	do{	
		n=0;   
		try{
		    BufferedReader in =new BufferedReader ( new InputStreamReader (System.in));
		    cadena = in.readLine();
			}
		catch(IOException e)
		 	{
			System.out.println("No se pudo leer el dato");
		 	}
		try{	
		      x = Integer.parseInt(cadena);
		   }
		catch(NumberFormatException e)
	    	{
		 	  System.out.println("\t!ERROR�El dato tiene que ser entero:\n\tIngresa de nuevo.");
		      n=1;
		    }
      }while(n==1);
	return (x);
    }
		
	public static double real(String mensaje)
    {
    int n;
    double x=0;
    String cadena = null;
    System.out.printf(mensaje);
	do{	
		n=0;   
		try{
		    BufferedReader in =new BufferedReader ( new InputStreamReader (System.in));
		    cadena = in.readLine();
			}
		catch(IOException e)
		 	{
			System.out.println("No se pudo leer el dato");
		 	}
		try{	
		      x =Double.parseDouble(cadena);
		   }
		catch(NumberFormatException e)
	    	{
		 	  System.out.println("\t!ERROR�El dato tiene que ser real:\n\tIngresa de nuevo:");
		      n=1;
		    }
      }while(n==1);
	return (x);
    }
		
	public static char caracter(String mensaje)
    {
    int n;
    char x='a';
    String cadena = null;
    System.out.printf(mensaje);
	do{	
		n=0;   
		try{
		    BufferedReader in =new BufferedReader ( new InputStreamReader (System.in));
		    cadena = in.readLine();
			}
		catch(IOException e)
		 	{
			System.out.println("No se pudo leer el dato");
		 	}
		if (cadena.length()==1)
	  	  {
			x= (char)cadena.toUpperCase().charAt(0);
		  }
		else
		   {
		 	  System.out.println("\t!ERROR�El dato tiene que ser un caracter:\n\tIngresa de nuevo:");
		      n=1;
		   }
      }while(n==1);
	return (x);
    }

	public static String cadena(String mensaje)
    {
	   int n;
	   String cadena=null;
           System.out.printf(mensaje);
    do{	
		n=0;
		try{
		    BufferedReader in =new BufferedReader ( new InputStreamReader (System.in));
		    cadena = in.readLine();
			}
		catch(IOException e)
		 	{
			System.out.println("No se pudo leer el dato");
		 	}
		if(cadena.length()==0)
		{
			System.out.println("\t!ERROR�No es una cadena:\n\tIngresa de nuevo:");
			n=1;
		}
		}while(n==1);
	return (cadena);
    }

	public static int natural(int inicio,String mensaje)
    {
    int n,x=0;
    String cadena = null;
    System.out.printf(mensaje);
	do{	
		n=0;   
		try{
		    BufferedReader in =new BufferedReader ( new InputStreamReader (System.in));
		    cadena = in.readLine();
			}
		catch(IOException e)
		 	{
			System.out.println("No se pudo leer el dato");
		 	}
		try{	
		      x = Integer.parseInt(cadena);
		      if (x<inicio) 
		        {
		    	  n=1;
		    	  System.out.println("\t!ERROR�El dato tiene que ser >= "+inicio+":\n\tIngresa de nuevo.");
		        }
		   }
		   
		catch(NumberFormatException e)
	    	{
		 	  System.out.println("\t!ERROR�El dato tiene que ser natural:\n\tIngresa de nuevo.");
		      n=1;
		    }
      }while(n==1);
	return (x);
    }

	public static void enter(String mensaje)
    {
        System.out.printf(mensaje);
        try {
		    System.out.println("\n\tPresione enter, para continuar . . .");
        	BufferedReader in =new BufferedReader ( new InputStreamReader (System.in));
		    in.readLine();
			}
		catch(IOException e)
		 	{
			System.out.println("No se pudo leer el dato");
		 	}	
    }
}
